home *** CD-ROM | disk | FTP | other *** search
- MS-DOS specific implementation information for DECUS C Preprocessor
- December, 1985
-
- CPP is the DECUS C Preprocessor, as implemented by Martin Minow.
- The version in this library has been modified from the net.sources release
- to support the Lattice and Microsoft C compilers for MS-DOS. Modifications
- include the ability to search for system header files in the directory
- "\INCLUDE", the ability to search one directory specified in the environment
- variable "INCLUDE" (See the MS-DOS INCLUDE command for information on
- setting environment variables), and the ability to deal with MS-DOS
- memory models.
-
- To select the memory model, use the '-M<model>' command line switch, where
- <model> is one character as specified below. The following memory models
- are supported:
-
- Model Compiler sizeof (data *) sizeof (func *) Predefines
- s Lattice 2 2 I8086S
- Microsoft SPTR
- M_I86SM
- M_I86
- I8086
- MSDOS
-
- p Lattice 2 2 I8086P
- SPTR
- I8086
- MSDOS
-
- d Lattice 4 4 I8086D
- LPTR
- I8086
- MSDOS
-
- m Microsoft 2 4 M_I86MM
- M_I86
- MSDOS
-
- l Lattice 4 4 I8086L
- LPTR
- M_I86LM
- M_I86
- I8086
- MSDOS
-
- The preprocessor predefinition SS_NE_DS under Microsoft C is not
- supported, and must be supplied by the user via the -D<idname> option if
- desired. Where the memory model implies the compiler, only those symbols
- which that compiler normally predefines are predefined. The S and L models
- are the same in the Microsoft and Lattice compilers, and therefore the
- symbols for both compilers must be defined.
-
- We have not tried out the file FLOATCPP.C, nor do we have any desire to.
- However, it is included for those who are less lazy than we.
-
- The version of the C Preprocessor we are distributing compiles under the
- Microsoft C compiler. It is likely that the only problems with bringing it
- up under Lattice would be the lack of the UNIX library function ctime()
- and the #define MACHINE <stuff> line in the MS-DOS definitions.
- The ctime() function problem can be fixed by defining OK_DATE to be FALSE.
- Alternatively, the user can make their own. The other definition can
- be gotten around by taking out the carriage returns, at the expense of
- code readability. If necessary, some of the names in the MACHINE
- definition may be moved to the SYSTEM definition, but this is not really
- kosher to purists like ourselves.
-
- DECUS C is a creation of DEC employees who wanted a C compiler on
- DEC machines, particularly the PDP-11 class machines. It is entirely in the
- public domain; general permission to use and distribute the software has been
- granted, provided that it is distributed free of charge. No profit-making
- schemes allowed!
-
- The Lattice C and Microsoft C compiler modifications for MS-DOS are not part
- of the DECUS C Preprocessor distribution yet, but we are in the process of
- sending them back to the source.
-
- - Ted Lemon and Jym Dyer
- December, 1985
-